home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ietf / opstat / opstat-minutes-91mar.txt < prev    next >
Encoding:
Text File  |  1993-02-17  |  20.0 KB  |  461 lines

  1.  
  2. 1. Minutes of the OpStats Working Group : March 1991 IETF
  3.  
  4.  
  5. Chairpersons: Bernard Stockman of NORDUnet and Phill Gross of CNRI
  6. Notetaker:    Dan Friedman of BBN Communications.
  7.  
  8.  
  9.  
  10. The OSWG (Operational Statistics Working Group) met for three sessions. 
  11. The following report summarizes the proceedings. It is organized along the 
  12. lines of "Accomplishments", "Issues" and "Process" rather than as a 
  13. sequential narrative. At the request of the chairpersons, the minutes contain 
  14. proposals to resolve some of the open issues: basically, a (concrete) cut at 
  15. what we should do next.  
  16.  
  17. 2. Summary of Accomplishments
  18.  
  19. Our main accomplishments were to agree upon objectives for the work and 
  20. to take some steps towards realizing those objectives. The objectives are  
  21.  
  22.  - To define an architecture for providing Internet access to operational 
  23.    statistics for any Regional or the NSFnet.  
  24.  
  25.  - To classify the types of information that should be available 
  26.  
  27.  - To develop (or foster the development of) public domain software 
  28.    providing this information. The aim here is to specify a baseline 
  29.    capability that all the Regionals can support with minimal development 
  30.    effort and minimal ongoing effort. (It is hoped that if they can do it with 
  31.    minimal effort, they  in fact will.) 
  32.  
  33. Our progress in each of these areas is described next.
  34.  
  35. 2.1.    Architecture
  36.  
  37. We selected a client/server architecture for providing Internet access to 
  38. operational statistics, as shown in the figure.  
  39.  
  40. This architecture envisions that each NOC will have a server who provides 
  41. locally collected information in a variety of forms (along the "raw <--> 
  42. processed" continuum) for clients. High level proposals for the client/server 
  43. interaction and functionality for the "first release" of the software are 
  44. discussed later in the minutes. 
  45.  
  46. 2.2.    Classification of Opstats Information
  47.  
  48. We identified three classes of reports based upon prospective audiences. They 
  49. are:
  50.  
  51.   - Monthly Reports (a.k.a. "Political Reports") aimed at Management.
  52.   - Weekly Reports aimed at Engineering (i.e.  planning)
  53.   - Daily Reports aimed at Operations
  54.  
  55. 2.3.    Development Plan
  56.  
  57. We decided that it was most important and easiest to address the 
  58. management reports first, and therefore, we spent the most time focussing on 
  59. them. We arrived at several key areas:
  60.  
  61.   - Offered Load (i.e. traffic at external interfaces)
  62.   - Offered Load segmented by "Customer"
  63.   - Offered Load  segmented protocol/application
  64.   - Resource Utilization (Link/Router)
  65.   - Availability
  66.  
  67. The first report came to be known as the "McDonald's Report" (N Billion 
  68. Bytes/Packets Served). 
  69.  
  70. 3.    Technical Issues
  71.  
  72. 3.1.    Client/Server Interaction
  73.  
  74. The following was proposed for Client/Server Commands. (The initial 
  75. proposal was put forth by Dan Long of NEARnet.)
  76.  
  77. Commands:
  78.   - Login (with authentication)
  79.   - Help -- Returns a description of the available data (names, a pointer
  80.     to a map, gateways, interfaces, and variables) 
  81.   - Format -- Defines retrieval format
  82.   - Select/Retrieve -- Pose a query to server. (This generates a response 
  83.     containing the data.) 
  84.   - Exit.
  85.  
  86. Proposed Query Language:
  87.  
  88.   "SQL-like": SELECT <router interface> AND <variable> FROM 
  89.  <startdate> TO <enddate> AT <granularity> WITH <conditions-met>
  90.  
  91. The authentication issue was considered important as some of the traffic 
  92. information, i.e. who's talking how much to whom, will be sensitive.
  93. We also felt that the "name/map" issue is important for the following 
  94. reasons:  It will be impossible to agree on a naming structure that is 
  95. universally meaningful.  Even if we could agree on such a convention, it will 
  96. always be most convenient for the local network operators to maintain 
  97. information using names that are meaningful to them.  Therefore, the server 
  98. should be permitted to deliver results using the internal names but must able 
  99. to provide file(s) that enable a person to figure out what the names mean. 
  100.  
  101. Notetaker's Proposal:
  102. Maintain the following information in one or more files. Pointers to 
  103. information are obtained by the Help command. 
  104.  
  105. Router names: 
  106. Gives the name of the router as used in the statistics data. 
  107. Gives a (human-supplied) description of the router's location, e.g. 
  108. University XYZ, MegaBig International Corporate Headquarters, or some 
  109. other information that enables an outsider to determine what role the 
  110. router is playing in the network. This information embodies the 
  111. knowledge contained in the network operators' heads. 
  112.  
  113. Net Names: 
  114. Provides the (internal) names of the networks attached to 
  115. the routers' external interfaces. (Router names can be internal here since 
  116. the information in a) provides a mapping).  Gives associated IP 
  117. addresses. 
  118.  
  119. ASCII file containing backbone point-to-point links (using router names 
  120. to specify endpoints).  If the link also has an internal name that will be 
  121. use when providing link information, give this name. Also gives 
  122. linespeed. Need to think of a way to specify a connection to a public data 
  123. service. All data provided by the server is given using internal names.
  124.  
  125. 3.2.    Contents of Monthly Reports
  126.  
  127. We had three presentations on the Monthly Reports. (The groups were 
  128. commended for their pioneering use of the 11PM-2AM time slot.) Members 
  129. of the groups were 
  130.  
  131.  - Kannan Varadh? (Photocopy blurred here), Eric Carroll, Bill Norton, 
  132.    Vikas Aggarwal
  133.  
  134.  - Sue Hares, Et. Al.  (Sorry, that's all I have on the hardcopy.)
  135.  
  136.  - Charles Carvalho, Ross Veach, David O'Leary
  137.  
  138. The following is a synthesis of the presentations and attendant discussions:
  139.  
  140. 3.2.1.    The McDonald's report
  141.  
  142. The main issues here were: whether to provide packets or bytes or both and 
  143. whether to provide input or output or both.
  144.  
  145. Notetaker's Opinion: 
  146. I was convinced by the argument that, unless 
  147. something is radically wrong with the network, differences between input 
  148. and output should be "down in the noise", and the explanations for the 
  149. differences will be too obscure for a management report. (If the network is 
  150. really throwing away a large amount of traffic, we'll hear about it well 
  151. before a management report has to be written.) So I vote for input only in the 
  152. McDonald's Report.  More on bytes vs. packets later.
  153.  
  154. 3.2.2.    Offered Load by Customer
  155.  
  156. There was agreement that this is useful. The main controversy was how 
  157. customers should be identified in a publicly available report. 
  158.  
  159. Notetaker's Proposal: 
  160. We present the cumulative distribution or density 
  161. function of offered load vs. number of interfaces. That is:  Sort the offered 
  162. load (in decreasing order) by interface.  Plot the function F(n), 
  163. where F(n) is percentage of total traffic offered to the top n interfaces or 
  164. the function f(n) where f is the percentage of traffic offered by the n'th 
  165. ranked interface. (An example appears toward the end of the minutes.)
  166.  
  167. I feel that the cumulative is useful as an overview of how the traffic is 
  168. distributed among users since it enable you to quickly pick off what 
  169. fraction of of the traffic comes from  what number of "users." (It will be 
  170. technically and politically difficult to resolve "user" below the level of 
  171. "interface.") This graph will suggest more detailed explorations to people 
  172. who have access to customer "names."
  173.  
  174. 3.2.3.    Offered Load  by Protocol Type and Application
  175.  
  176. People seemed to agree that this is valuable and that pie charts are a good way
  177. to present the information (since there is no "natural" ordering for the 
  178. elements of the X-axis, a.k.a "Category Axis" in spreadsheet lingo.) "By 
  179. protocol" means TCP, UDP etc. "By application" means Telnet, FTP, SMTP 
  180. etc. It was also pointed out that it is potentially useful to do this both by 
  181. packets and by bytes since the two profiles could be very different (e.g. FTP 
  182. typically uses large packets, Telnet small packets etc.) 
  183.  
  184. 3.2.4.    Resource Utilization
  185.  
  186. Everyone agreed that the objectives of this report should be to provide some 
  187. indication of whether the network has congestion and if/where it needs more 
  188. capacity. There was considerable debate on exactly how often one would have 
  189. to poll utilization to determine whether there is congestion and also on 
  190. exactly what summary statistics to present: averages, peaks, peak of peaks, 
  191. peak of averages, averages of peaks, peaks of averages of peaks.....
  192. We seemed to focus more on link utilization than on router utilization, 
  193. probably for two reasons. It is more difficult to standardize measures of 
  194. router utilization, and link costs dominate router costs.
  195. We kept looking for some underlying "physics" of networks to determine the 
  196. collection interval.  Here's one opinion. 
  197.  
  198. Notetaker's Opinion: 
  199. It will be impractical to determine congestion solely 
  200. from link utilization, since one would have to collect at a very small interval
  201. (certainly less than one minute). Therefore, we should use estimate 
  202. congestion by looking at dropped packet statistics. 
  203.  
  204. We should use link utilization to capture information on network loading. 
  205. The polling interval must be small enough to be significant with respect to 
  206. variations in human activity since this is the activity that drives loading in 
  207. network variation. On the other hand, there is no need to make it smaller 
  208. than an interval over which excessive delay would noticeabley impact 
  209. productivity. For  example, people won't notice congestion if it only occurs 
  210. for 10 seconds a day.
  211.  
  212. 30 minutes is a good estimate for the time at which people remain in one 
  213. activity and over which prolonged high delay will affect their productivity. 
  214. To track 30 minute variations, we need to sample twice as frequently, i.e. 
  215. every 15 minutes. 
  216.  
  217. 3.2.5.    Availability
  218.  
  219. We didn't have much time to get to this.  There was discussion of presenting 
  220. the information "By Customer" (e.g. Customers with Top N Total Outage 
  221. Times) or just reporting on # outages that last longer than a certain amount 
  222. of time. 
  223.  
  224. Notetaker's Proposal:
  225. We should omit Availability reports from the first deployment for several 
  226. reasons. First, we didn't spend enough time to obtain consensus. Second, they 
  227. can be politically sensitive. Third, outage data can be very tough to process. 
  228. Think of trying to determine exactly how a network partition affects 
  229. connectivity between different pairs of end users. It's an "N-Squared" 
  230. problem. If we do want to address this, we should start with site, router, and 
  231. external interface outages only, since these are O(N) problems.
  232.  
  233. 4.    Development Proposal
  234.  
  235. The following is a proposal for a "development/deployment" plan that tries 
  236. to reach a reasonable compromise among  functionality, burden on network 
  237. operations resources,  and "time to market." The discussion is segmented into 
  238. three parts:
  239.  
  240.   - What information is to be  available through the server
  241.   - What are the collection/storage requirements
  242.   - What presentation tools should we build
  243.  
  244. 4.1.    Information Base
  245.  
  246. The goal of the Server piece is to provide access to data in a fairly raw 
  247. form (to be described next) and should be the first thing we do. Presentation 
  248. tools that use this as input can be developed in parallel if people want to 
  249. but we shouldn't put them on the critical path. 
  250. We will have to provide the collection tools as well (unless every NOC  is 
  251. already collecting enough data to supply the information outlined below.) 
  252. The capabilities of the "first release" are to support the
  253.  
  254.   - McDonald's Report
  255.   - Offered Load by Interface Report
  256.   - Offered Load by Application Report
  257.   - Link Utilization Report
  258.   - Congestion Report
  259.  
  260. The Availability Report is missing because it is hard to do and (based upon 
  261. the level of discussion we had) seemed to be of lower priority.
  262. In the first release, we provide a server and client that can deliver the 
  263. following statistics. For N specified days over a rolling three month interval:
  264.  
  265.   - Total Input Packets and Input Octets per day per external interface.
  266.   - Total Input Packets and Octets across the network per day per 
  267.     application.  (Note that this is NOT per interface.)
  268.   - Mean, Standard Deviation, and Peak 15 minute utilization per day per 
  269.     (unidirectional link) 
  270.   - Peak discard percentages over fifteen minute intervals per link-direction 
  271.     per day.
  272.  
  273. The Exchange Format between Server and Client should be ASCII-based 
  274. because this enables people to quickly look at the data to see if it makes 
  275. sense and because it enables quick, custom data reduction via AWK. (I have 
  276. found both these capabilities to be useful in my own analyses of network data.)
  277. The first Client that we write should simply retrieve the data in the exchange 
  278. format and write it to disk. Rationale for this Base:
  279.  
  280. This information supports the reports described below and then some, so that 
  281. presentation tools development will not be limited to these reports.
  282. The three month collection interval is short enough to keep storage 
  283. requirements under 5 Mbytes but long enough so that one can examine 
  284. longer term trends by "dumping" the data a few times a year.  (These files 
  285. should be highly compressible, easily 2:1, since they'll contain mainly ASCII 
  286. numerals, repetitions of the names of entities, and whitespace, colons etc.)
  287. The ASCII-based format will enable us to develop interoperable tools more 
  288. quickly. TBD:
  289.  
  290.   - The exact exchange format (no real opinion here other than that it be 
  291.     ASCII-based).
  292.   - The command structure. The proposed format seems to be an excellent 
  293.     starting point.
  294.  
  295. 4.2.    Collection/Storage Requirements:
  296.  
  297. Input bytes and packets per external interface must be collected frequently 
  298. enough to prevent counter overflow. As they are collected, they can be added 
  299. to running totals for the day. At the end of the day, the daily totals for each
  300. external interface are stored.
  301.  
  302. Input bytes and packets per application over all interfaces frequently enough 
  303. to prevent overflow. At the end of the day these can be aggregated into daily 
  304. totals. (I guess you have collect these per external interface but they can be 
  305. aggregated into a network-wide total as the day goes on.)
  306.  
  307. Per link interface per 15 minutes: bytes sent, packets sent, packets received.
  308. (To get the drop rate, you have to correlate sent and received at the two ends 
  309. of the link.) At the end of the day, store away the average utilization, the 
  310. standard deviation, the peak utilization, and the peak drop percentage.
  311. Assuming 10 octets per item for storage, I estimate that the necessary 3 month 
  312. history can be maintained with <5 Mbytes for a network with 100 routers, 500 
  313. external interfaces, and 200 links.
  314.  
  315. 4.3.    Reports/Presentation Tools:
  316.  
  317. My hunch is that standardization of presentation tools will come about based 
  318. on who does the work first. (It's hard to argue with decent code that's in 
  319. place: to wit, the entire TCP/IP phenomenon.) Here are some suggestions 
  320. (and the reasoning)  for what we should do first.
  321.  
  322. 4.3.1.    McDonald's Report:
  323.  
  324. For an N day period, graph Total Input Bytes per day. Put the average packet 
  325. length as a "note" on the graph. 
  326.  
  327. Reason: 
  328. Bytes is a better measure of the "useful" load carried by the network, 
  329. i.e. the information sent around by the applications; packets are really an 
  330. artifice of the way we do things.  As a network manager, I would be interested 
  331. in the end-user volume of information. By putting the average packet length, 
  332. one can convert to packet volumes if need by.
  333.  
  334. For the same reason, I suggest that the next two reports be done in bytes as 
  335. well. Note that the suggested initial information base will support 
  336. comparable presentations by packets as well.
  337.  
  338. 4.3.2.    Offered Load by Customer Report:
  339.  
  340. Based on total input bytes for an N day period: Graph the distribution (or 
  341. density function) of total input bytes vs. external interfaces as shown below. 
  342. The external interfaces should be put in decreasing order of offered load (in 
  343. bytes). 
  344.                                                      
  345. 4.3.3.    Offered Load by Application Report
  346.  
  347. Based upon total input bytes for the N day period, present a pie chart of the 
  348. distribution by application. 
  349.  
  350. 4.3.4.    Link Utilization
  351.  
  352. The objective here is to provide some information on the utilization of the 
  353. total set of links and on the "worst" link.
  354. The input "data" we have to work with comprises two matrices:
  355.  
  356.  A(i,j) = average utilization of link i on day j
  357.  P(i,j) = peak (15 minute) utilization of link i on day j.
  358.  
  359. Define TAVG(A(i)) = time average of A(i,j) (i.e. sum-over-j(A(i,j))/#days).
  360. Define TAVG(P(i)) = time average of P(i,j) (i.e. sum-over-j(P(i,j))/#days).
  361.  
  362. I suggest that we order links by the TAVG(P(i)) measure, i.e. the "worst" link 
  363. is the one that has the highest average peak utilization  over the period. 
  364. Graph the following:
  365.  
  366. A histogram of the collection of A(i,j) values, using 10% buckets on the 
  367. X-axis, i.e. plot the function F(n) where F(n) = percentage of A(i,j) entries 
  368. in the (n-1)*10% -- n*10% range. 
  369.                                          
  370.   A comparable histogram of the P(i,j).
  371.  
  372. Histograms are useful for summarizing the data over all links over the entire 
  373. period and can suggest further explorations. 
  374. For the "worst link" (as defined above), plot as a function of day, its average
  375. utilization for the day and its peak utilization for the day. (Note that the 
  376. data that we collect supports exploration of these time series for any link.) 
  377.  
  378. Note that the proposed initial information base will support such analyses for 
  379. any subset of the links.
  380.  
  381. 4.3.5.    Congestion
  382.  
  383. The available data as specified in section is 
  384.  
  385.   D(i,j) = peak drop rate (during any fifteen minute interval) for link i on 
  386.   day j.
  387.  
  388.   Plot a histogram of D(i,j). For the "worst" link (as defined above), 
  389.   say link I, 
  390.  
  391.   plot D(I,j) as a function of j.
  392.  
  393. 5.    Presentations
  394.  
  395. In addition to the groups on the monthly reports, we had presentations from 
  396. Bill Norton of Merit and Chris Meyers of Wash. U.
  397. Chris proposed an exchange format. I'm guessing that the document is 
  398. available on-line if you wish to review it. 
  399. Bill discussed Merit's OpStats activities for NSFnet. He focussed on their 
  400. presentation tools as well as the way that they internally organize the data 
  401. (a tree structure of Unix files). One important point made during this 
  402. discussion is that relational databases are not good for storing OpStats. 
  403. (Performance is the issue.)  This is unfortunate since many commercial DBMSs 
  404. are relational in nature, and therefore, we cannot leverage their (usually 
  405. substantial) report facilities. The idea of a "client/server" model grew out 
  406. of Bill's presentation.
  407.  
  408. 6.    Notable and Quotable
  409.  
  410. We had some discussion of how Network Managers use Management 
  411. Reports and, therefore, what the reports need to present. One significant 
  412. observation was that "Political Graphs don't have to make sense."
  413. During Sue Hare's presentation of her group's work on the monthly reports, 
  414. the KISS acronym was re-interpreted as Keep It Simple Sue.
  415.  
  416. Participants (who signed the list):
  417.     
  418.     Vikas Aggarwal <vikas@jvnc.net>    
  419.     Bill Barns <barns@gateway.mitre.org>    
  420.     Eric Carroll <eric@utcs.utoronto.edu>    
  421.     Charles Carvalho <charles@salt.acc.com>
  422.     Bob Collet /PN=Robert.D.Collet/O=US.SPRINT/ADMD=TELEMAIL/C=US/@SPRINT.C
  423.      >OM
  424.     Dale Finkelson <dmf@westie.unl.edu>
  425.     Dan Friedman <danfriedman@bbn.com>
  426.     Demi Getschko <demi@fpsp.fapesp.br>
  427.     Dave Geurs <dgeurs@mot.com>
  428.     Fred Gray <fred@homer.msfc.nasa.gov>
  429.     Phill Gross <pgross@nri.reston.va.us>
  430.     Olafur Gudmundsson <ogud@cs.umd.edu>
  431.     Steven Hunter <hunter@es.net>
  432.     Dale S Johnson <dsj@merit.edu>
  433.     Dan Jordt <danj@nwnet.net>
  434.     Tracy LaQuey Parker <tracy@utexas.edu>
  435.     Nik Langrind <nik@shiva.com>
  436.     Walt Lazear <lazear@gateway.mitre.org>
  437.     Dave O'Leary <oleary@sura.net>
  438.     Dan Long <long@nic.near.net>
  439.     Garry Malkin <gmalkin@ftp.com>
  440.     Lynn Monsanto <monsanto@sun.com>
  441.     Don Morris <morris@ucar.edu>
  442.     Bill Norton <wbn@merit.edu>
  443.     Rehmi Post <rehmi@ftp.com>
  444.     Joel Replogle <replogle@ncsa.uiuc.edu>
  445.     Robert J. Reschly Jr. <reschly@brl.mil>
  446.     Ron Roberts <roberts@jessica.stanford.edu>
  447.     Manoel A Rodriques <manoel.rodrigues@att.com>
  448.     Jim Sheridan <jsheridan@ibm.com>
  449.     Brad Solomon <bsolomon@hobbes.msfc.nasa.gov>
  450.     Osmund deSouza <desouza@osdpc.ho.atcom> ???
  451.     Mike Spengler <mks@msc.edu>
  452.     Bob Stewart <rlstewart@eng.xyplex.com>
  453.     Roxanne Streeter <streeter@nsipo.nasa.gov>
  454.     Kannan Varadhan <kannan@oal.net>
  455.     Ross Veach <???????>
  456.     Sue Wang <swang@ibm.com>
  457.     Carol Ward <cward@spot.colorado.edu>
  458.     Cathy Withbrodt <cjw@nersc.gov> ?????
  459.     Wing Wong <ww14706@malta.sbi.com>
  460.  
  461.